package com.ctshk.rpc.guide.dto;

import com.ctshk.common.model.BaseEntity;
import com.ctshk.rpc.guide.req.LanguageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

/**
 * <p>
 * 导领信息表
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-02-25
 */
@Data
@ApiModel(value="GuideCollarListDTO对象", description="导领信息表")
public class GuideCollarListDTO implements Serializable {


    private static final long serialVersionUID = 1835361788948889332L;
    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "类型（1：领队 2：导游）")
    private Integer type;

    @ApiModelProperty(value = "中文姓")
    private String cnSurname;

    @ApiModelProperty(value = "中文名")
    private String cnName;

    @ApiModelProperty(value = "中文姓名")
    private String cnUserName;

    @ApiModelProperty(value = "英文姓")
    private String enSurname;

    @ApiModelProperty(value = "英文名")
    private String enName;

    @ApiModelProperty(value = "英文姓名")
    private String enUserName;

    @ApiModelProperty(value = "员工号")
    private String employeeNumber;

    @ApiModelProperty(value = "座机")
    private String telephone;

    @ApiModelProperty(value = "座机号区号")
    private String telephoneAreaCode;

    @ApiModelProperty(value = "内地手机")
    private String mainlandMobile;

    @ApiModelProperty(value = "内地手机区号")
    private String mainlandMobileAreaCode;

    @ApiModelProperty(value = "性别（1：男 2：女）")
    private Integer gender;

    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;

    @ApiModelProperty(value = "出生城市id")
    private Long birthCityId;

    @ApiModelProperty(value = "出生城市")
    private String birthCity;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "联系人名称")
    private String contactsName;

    @ApiModelProperty(value = "联系人电话区号")
    private String contactsTelephoneAreaCode;

    @ApiModelProperty(value = "联系人电话")
    private String contactsTelephone;

    @ApiModelProperty(value = "中文居住地址")
    private String cnAddress;

    @ApiModelProperty(value = "英文居住地址")
    private String enAddress;

    @ApiModelProperty(value = "领队等级id")
    private Long leaderLevelId;

    @ApiModelProperty(value = "领队等级")
    private String leaderLevelName;

    @ApiModelProperty(value = "领队类型id")
    private Long leaderTypeId;

    @ApiModelProperty(value = "领队类型名称")
    private String leaderTypeName;

    @ApiModelProperty(value = "入职时间")
    private LocalDate entryTime;

    @ApiModelProperty(value = "精通语言")
    private List<LanguageReq> proficiencyLanguage;

    @ApiModelProperty(value = "合同年限")
    private Integer contractPeriod;

    @ApiModelProperty(value = "分社id")
    private Long departmentId;

    @ApiModelProperty(value = "分社名称")
    private String departmentName;

    @ApiModelProperty(value = "薪水")
    private BigDecimal salary;

    @ApiModelProperty(value = "行业时间")
    private LocalDate industryTime;

    @ApiModelProperty(value = "教育程度id")
    private Long educationLevelId;

    @ApiModelProperty(value = "教育程度")
    private String educationLevel;

    @ApiModelProperty(value = "领队方言")
    private List<LanguageReq> dialect;

    @ApiModelProperty(value = "介绍人名称")
    private String introducer;

    @ApiModelProperty(value = "介绍人电话区号")
    private String introducerTelephoneAreaCode;

    @ApiModelProperty(value = "介绍人电话")
    private String introducerTelephone;

    @ApiModelProperty(value = "介绍人描述")
    private String introducerDescribe;

    @ApiModelProperty(value = "行业带团经验")
    private Integer industryGroup;

    @ApiModelProperty(value = "本社带团经验")
    private Integer ourGroup;

    @ApiModelProperty(value = "升职时间")
    private LocalDate bePromotedDare;

    @ApiModelProperty(value = "升职原因")
    private String bePromotedReason;

    @ApiModelProperty(value = "升职级别id")
    private Long bePromotedLevelId;

    @ApiModelProperty(value = "升职级别名称")
    private String bePromotedLevelName;

    @ApiModelProperty(value = "转入分社id")
    private Long transferAgencyId;

    @ApiModelProperty(value = "转入分社名称")
    private String transferAgencyName;

    @ApiModelProperty(value = "转入分社生效日期")
    private LocalDate transferAgencyDate;

    @ApiModelProperty(value = "黑名单原因")
    private String blacklistReason;

    @ApiModelProperty(value = "离职原因")
    private String quitReason;

    @ApiModelProperty(value = "离职生效时间")
    private LocalDate quitDate;

    @ApiModelProperty(value = "证件状态（1：正常 2：即将过期 3：已过期）")
    private Integer certificatesStatus;

    @ApiModelProperty(value = "证件有效时间")
    private LocalDate effectiveTime;

    @ApiModelProperty(value = "状态(1.在职 2.离职 3.休假 4.黑名单)")
    private Integer status;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "保险名称")
    private String insurance_name;

    @ApiModelProperty(value = "保单号")
    private String policyNumber;

    @ApiModelProperty(value = "起保日期")
    private LocalDate startDate;

    @ApiModelProperty(value = "终保日期")
    private LocalDate finalInsuranceDate;

    @ApiModelProperty(value = "保险图片url")
    private String insurancePictureUrl;


}
